package com.sky.service;

import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.Result;

import java.util.List;
import java.util.Map;

public interface CategoryService {
    /**
     * 分类分页查询
     * @param categoryPageQueryDTO
     * @return
     */
    Result<Map<String, Object>> queryByPage(CategoryPageQueryDTO categoryPageQueryDTO);

    /**
     * 分类修改
     * @param categoryDTO
     * @return
     */
    Result updateByCategory(CategoryDTO categoryDTO);

    /**
     * 分类启用禁用
     * @param status
     * @param id
     * @return
     */
    Result updateByStatus(Integer status, Integer id);

    /**
     * 新增分类
     * @param categoryDTO
     * @return
     */
    Result insertCategory(CategoryDTO categoryDTO);

    /**
     * 分类删除
     * @param id
     * @return
     */
    Result deleteById(Long id);

    /**
     * 分类根据类别查询
     * @param type
     * @return
     */
    Result<List<Category>> queryByType(Integer type);

    /**
     * 分类列表查询
     * @param type
     * @return
     */
    Result<List<Category>> list(Integer type);
}
